package com.ruoyi.ruoyixingyue.modules.api.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageData;
import com.ruoyi.ruoyixingyue.modules.api.entity.Course;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.ruoyixingyue.modules.api.po.CourseAdminListPo;
import com.ruoyi.ruoyixingyue.modules.api.po.CourseInsertPo;
import com.ruoyi.ruoyixingyue.modules.api.po.CourseListPo;
import com.ruoyi.ruoyixingyue.modules.api.vo.CourseAdminListVo;
import com.ruoyi.ruoyixingyue.modules.api.vo.CourseInsertVo;
import com.ruoyi.ruoyixingyue.modules.api.vo.CourseListVo;
import com.ruoyi.ruoyixingyue.modules.api.vo.CourseUpdateVo;
import com.ruoyi.ruoyixingyue.modules.utils.Condition;

import java.util.List;

/**
 * <p>
 * 课程表 服务类
 * </p>
 *
 * @author lzz
 * @since 2024-02-14
 */
public interface ICourseService extends IService<Course> {

    R<PageData<CourseListPo>> courseListAPI_001(Condition<CourseListVo> condition);

    R<List<CourseListPo>> courseTypeListAPI_002(Long id);

    R<PageData<CourseAdminListPo>> courseListAPI_003(Condition<CourseAdminListVo> condition);

    R<String> courseInsertAPI_004(CourseInsertVo courseInsertVo);

    R<CourseInsertPo> courseGetByIdAPI_005(Long id);

    R<String> courseUpdateAPI_006(CourseUpdateVo courseUpdateVo);

    R<String> courseDeleteAPI_006(Long id);

    R<List> courseDictAPI_008();
}
